#include <stdio.h>
#include <string.h>
// 打印所以退出码默认信息 

//
//int main()
//{
//	for(int i = 0; i < 200; ++i)
//	{
//		printf("%d -> %s\n",i , strerror(i));
//	}
//
//	return 0;
//}
//

#include <stdlib.h>
#include <unistd.h>
//func函数
//int func(int num)
//{	
//	num += 10;
//	return num;
//}
//
//
////// 演示 return  和 exit / _exit 
//int main()
//{	
//	//printf("我将用 exit\n");
//	// 这里直接用一下 exit 
//	//exit(3);	
//	
//	// 这里用一下 _exit 
//	printf("我将用 _exit\n");
//	_exit(3);		
//
//
//	printf("我是 main 函数的主体\n");
//	printf("我准备调用 func 函数啦 !!!\n");
//	// return 后只是返回到 main 函数里
//	int ret = func(10);
//	printf("func 函数调用完成 , 结果 : %d\n", ret);
//	
//	return 0;
//}



//////////////////////////////////  演示 exit 和 _exit 缓冲区区别



// 带有 \n 的 exit 
void have_n_exit()
{
	printf("Hello Linux !\n");
	sleep(2);

	exit(3);
}


// 不带 \n 的 exit 
void no_n_exit()
{

	printf("Hello Linux !");
	sleep(2);

	exit(3);
}

//带 \n 的 _exit 
void have_n__exit()
{
	printf("Hello Linux !\n");
	sleep(2);

	_exit(3);
}

//不带 \n 的 _exit 
void no_n__exit()
{
	printf("Hello Linux !");
	sleep(2);

	_exit(3);
}

int main()
{	
	// 带有 \n 的 exit 
//	have_n_exit();
	// 不带 \n 的 exit 
//	no_n_exit();	
	// 带有 \n 的 _exit 
//	have_n__exit();
	// 不带 \n 的 _exit 
	no_n__exit();

	return 0;
}


